/**
 * 微信网页分享插件
 *
 * $.wxshare({
 *     api:'',  // 获取分享参数的服务器api
 *     url:'',  // 当前页面的地址
 *     title:'',  // 分享标题
 *     desc: '',   // 分享描述
 *     link:  '',   // 分享点击后打开的链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
 *     imgUrl: '',  // 分享封面图片
 * });
 */

(function ($) {

    $.fn.wxshare = function (options) {

		if (navigator.userAgent.toLowerCase().match(/MicroMessenger/i) != "micromessenger"){
			return;
		}

        // 可提供的默认参数
        var defaults = {
			api: '/weixin/jsconfig',
            url: location.href,
            title: $(document).attr('title'), // 分享标题
            desc: $(document).attr('title'), // 分享描述
            link: location.href, // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
            imgUrl: '', // 分享封面图
        };
        
        options = $.extend({}, defaults, options);
        
        if(!options.title) {
            options.title = defaults.title;
        }
        
        if(!options.title) {
            options.desc = defaults.desc;
        }
        
        if(!options.imgUrl) {
            options.imgUrl = defaults.imgUrl;
        }

        $.ajax({
            url: options.api,
            dataType: 'json',
            data: {url: options.url},
            success: function (ret) {

                wx.config({
                    debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
                    appId: ret.data.appId, // 必填，公众号的唯一标识
                    timestamp: ret.data.timestamp, // 必填，生成签名的时间戳
                    nonceStr: ret.data.nonceStr, // 必填，生成签名的随机串
                    signature: ret.data.signature, // 必填，签名
                    jsApiList: ['updateAppMessageShareData', 'updateTimelineShareData'], // 必填，需要使用的JS接口列表
                });

                wx.ready(function () {
                    wx.updateAppMessageShareData({
                        title: options.title, // 分享标题
                        desc: options.desc, // 分享描述
                        link: options.link, // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
                        imgUrl: options.imgUrl, // 分享图标
                        success: function () {
                        }
                    });
                    wx.updateTimelineShareData({
                        title: options.title, // 分享标题
                        link: options.link, // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
                        imgUrl: options.imgUrl, // 分享图标
                        success: function () {
                        }
                    });
                });
            }
        });
    };

    $.extend({wxshare: $.fn.wxshare});

})(jQuery);